Domain Controller چیست؟ کنترل کننده دامنه یا ساده تر بگوییم Domain Controller ها چه هستند و چگونه و در چه نقشی در زیرساختار شبکه ما ظاهر می شوند . در مقاله قبلی در خصوص نقش هایی که کامپیوترها در شبکه ایفا میکنند بصورت کامل صحبت کردیم .همانطوری که مشاهده کردید یکی از نقش هایی که در خصوص آن بیشتر بحث کردیم نقش کنترل کننده دامنه یا Domain Controller بود . در این مقاله بصورت ویژه به مبحث Domain Controller چگونگی فعالیت آنها در شبکه میپردازیم . یکی از مهمترین مفاهیم در شبکه های کامپیوتری مفهوم دامنه یا Domain است .دامین کنترلر چیست ، یک دامنه یا Domain در حقیقت مجموعه ای از حسابهای کاربری و کامپیوتری است که در کنار همدیگر جمع شده اند و بصورت متمرکز مدیریت می شوند . این وظیفه Domain Controller است که مدیریت متمرکز منابع دامین را آسان و راحت کند .برای اینکه اهمیت این موضوع را درک کنید توجه کنید که ویندوز XP در شبکه دارای چندین حساب کاربری Built-In یا از پیش ساخته شده است . ویندوز XP به شما این اجازه را می دهد که کاربران دیگری را نیز به این سیستم عامل اضافه کنید .
دومین کنترلر چیست
تا زمانی که شما بوسیله این ویندوز XP در شبکه ای که از نوع Workgroup یا همان Peer هستند فعالیت میکنید و کاربران شما در همان سیستم عامل صرفا محدودیت دسترسی به منابع را دارند ( باصطلاح به آنها Local User گفته می شود ) شما نیازی به مدیریت متمرکز نداشته و منابع تحت شبکه شما نیز نیاز چندانی به مدیریت متمرکز نخواهند داشت .در عوض Local User ها یا کاربران محلی برای ارائه دسترسی و سطوح دسترسی بر روی همان کامپیوتر مورد استفاده قرار میگیرند . روش کار اینگونه سیستم ها به گونه ای است که کاربر مدیر سیستم میتواند به کاربران محدود شده اجازه های دسترسی به منابع را بدون اینکه آنها بتوانند در آنها تغییراتی ایجاد کنند را میدهد و بدین ترتیب از کاربران محلی نگهداری و مدیریت انجام میشود .آموزش نتورک پلاس ، مهمترین دلیلی که از کاربران local یا محلی برای مدیریت دسترسی در سطح شبکه استفاده نمی شود این است که با استفاده از این کاربران در سطح شبکه بار و حجم کاری بسیار زیادی برای مدیریت شبکه و منابع آن ایجاد خواهد شد . چند لحظه تصور کنید که مدیر یک شبکه هستید و به دلیل اینکه از کاربران محلی استفاده میکنید برای اینکه بتوانید یک نام کاربری تعریف کنید و در شبکه شما 50 کامپیوتر وجود دارد میبایست بصورت حضور فیزیکی بر روی تمامی این 50 کامپیوتر حاضر شده و کاربر مورد نظر را ایجاد کنید .و همچنین هرگونه تغییری میبایست بر روی تک تک کامپیوتر ها بصورت مجزا ایجاد شود و به هیچ عنوان مدیریت متمرکزی وجود نخواهد داشت . شاید این مسئله برای شبکه های کوچک تا حدی قابل اعمال باشد اما شبکه ای با 1000 کامپیوتر را اگر تصور کنید به هیچ عنوان با چنین روشی نمیتوانید منابع آنرا مدیریت کنید و بطور قطع به مشکل خواهید خورد .
یکی دیگر از دلایلی که از کاربران محلی در شبکه های بزرگ استفاده نمیکنیم این است که همیشه کاربران قرار نیست پای کامپیوتر خودشان وارد سیستم شوند و ممکن است برخی اوقات محبور باشند که بر روی کامپیوتری موقت مشغول به کار شوند ، مثلا فرض کنید کامپیوتر شما در شبکه به مشکل خورده است و آنرا برای تعمیرات به واحد سخت افزار ارسال کرده اید ، اگر کاربر محلی را استفاده کنید شما و تمای تنظیمات شما بر روی همان کامپیوتر قرار داشته و قادر نخواهید بود بر روی سیستمی دیگر ورود کنید .اما اگر از کاربران شبکه ای که در Domain Controller تعریف شده اند استفاده می کنید براحتی میتوانید با همان نام کاربری و رمز عبور بر روی سیستمی دیگر وارد شده و کارتان را ادامه دهید . اینها تنها برخی از دلایلی بودند که از کاربران محلی برای ایمن سازی دسترسی به منابع شبکه استفاده نمی شود . حتی اگر در مواردی خاص مجبور باشیم که از این نوع سیستم ایمن سازی با استفاده از کاربران محلی استفاده کنیم صرفا منابعی را که بر روی همان سیستم قرار دارد را می توانیم ایمن کنیم .
در ساختار Domain این مشکلات کاربران به راحتی حل می شود ( در مورد سایر تنظیمات امنیتی و موارد مرتبط بعدا مقاله ای کامل ارائه خواهم کرد ) . این ساختار به شما امکان مدیریت آسان و متمرکز شبکه و کاربران آن را داده و به کاربر اجازه می دهد که بتواند بر روی هرکدام از سیستم های موجود در شبکه بدون نیاز به تعریف کاربر جدید وارد شود و به فعالیت خود ادامه دهد مگر در شرایطی که شما برای اینگونه ورود به سیستم ها محدودیتی ایجاد کنید .با توجه به اطلاعاتی که تا اینجای مقاله در خصوص دامین به شما دوستان ارائه دادیم باید به این مطلب تقریبا پی برده باشید که قلسفه وجودی دامین این است که در صورتی که منابع و سرویس هایی که در سطح شبکه می خواهند مورد استفاده قرار بگیرند بر روی سرور قرار دارند و شما نیز میبایست سطوج دسترسی و امنیت آنها را تامین کنید میبایست از کاربرانی استفاده کنید که توانایی فعالیت تحت شبکه را نیز داشته باشد و مدیریت متمرکز نیز بتواند بر روی آنها اعمال شود .چند سال پیش در شرکتی کار میکردم که در زمینه بیمه فعالیت میکرد و زیر نظر سازمان تامین احتماعی کشور بود و شبکه ای در آن وجود داشت که از سرورهای ناول استفاده می کرد . در آن زمان سرورهای ویندوز چندان کاربردی نبودند و تنها گزینه مورد استفاده همان سیستم عامل ناول بود .
دومین کنترلر چیست؟
در آن زمان که بنده شبکه رو به دست گرفتم تنها و تنها یک سرور در شبکه وجود داشت که تمامی منابع شبکه بر روی ان قرار گرفته بود از جمله تمامی کاربران و فایلها و سرویس ها . چند ماهی از آمدن من به شرکت گذشته بود که مسئولین فناوری اطلاعات شرکت تصمیم گرفتند که یک نرم افزارکاربردی به شبکه اضافه کنند و به علت حجم عظیم داده هایی که در این نرم افزار قرار بود مستقر شود پیشنهاد شد که از یک سرور فیزیکی اختصاصی برای این نرم افزار کاربردی استفاده کنند.نسخه ای که از سیستم عامل ناول در آن زمان و در آن شبکه استفاده میشد متناسب با همان مفهومی کار میکرد که قبلا رد همین مقاله به آن اشاره کردیم ، یعنی تمامی منابعی که در روی سرور قرار داشت به وسیله کاربرانی مدیریت و اعمال سطح دسترسی میشد که خود بر روی آن سرور قرار داشتند و کاربر محلی محسوب میشدند .آموزش لینوکس ، مشکل اصلی در اینجا بود که هر سرور برای خود کاربران و منابع خاص و مستقل خود را داشت . وقتی کاربر جدید به شبکه اضافه میشد ، کاربران با همان نام کاربری و رمز عبور سابق به منابع دسترسی پیدا میکردند اما اگر میخاستند به منابع اطلاعاتی جدیدی دسترسی پیدا کنند میبایستی که نام کاربری و رمز عبور جدیدی را نیز علاوه بر آنچه که میدانستند به خاطر بسپارند .شاید فکر کنید که این حرف های اغراق است اما بعد از مدتی شاید در حدود یک ماه بعد از اینکه سرور جدید را وارد مدار کردم ، شبکه بسیار زشت و نامنظم شده بود . زمان آن رسیده بود که کاربران رمز های عبور خود را تغییر دهند . کابران نمیدانستند که میبایست رمز عبور خود را در دو جای مختلف تعویض کنند و رمز ها یکی نیستند . این مسئله یعنی اینکه تعداد بسیار زیادی تماس از طرف کاربران مبنی بر درخواست تعویض رمز عبور به پشتیبان شبکه ارجاع داده میشد !!!
همانطوری که شرکت رو به رشد و ترقی بود و تعداد سرور ها نیز بیشتر و بیشتر میشد ، مشکلات نیز روز به روز حادتر میشد . بالاخره شرکت ناول نسخه 4 از سیستم عامل خود را روانه بازار کرد . ناول نسخه 4 با قابلیتی به نام Directory Service ارائه شده بود . ایده این سیستم عامل این بود که سرورها و کامپیوترها نبایستی کاربران مجزا و بدون ارتباط و مدیریت متمرکز شبکه در خود داشته باشند ، به جای اینکار یک کاربر در شبکه یا بهتر بگوییم در Directory Service ایجاد میشود که تمامی سرور های شبکه میتوانند از آن استفاده کنند .نکته جذاب در خصوص داستان کوچکی که برایتان گفتم این است که قابلیت دامین مختص شرکت و سیستم عامل های مایکروسافت است ( ناول از دامین استفاده نمیکرد ) اما دامین ها دقیقا مشابه همان مفهومی که در ناول دنبال میشد را ادامه میدهند . بعد از اینکه مایکروسافت سرور 2000 خود را ارائه کرد ، در آن سرویسی به نام Active Directory را اضافه کرده بود که امروزه نیز با همان نام مورد استفاده قرار میگیردد . اکتیو دایرکتوری ساختاری بسیار شبیه Directory Service ای دارد که در سیستم عامل های ناول استفاده میشد.
خوب همه اینهایی که گفتیم چه ارتباطی با دامین دارد ؟ باید توجه کنید که در ویندوز های سرور 2000 یا 2003 و یا تمامی ویندوزهای سرور حتی 2008 و به بعد این وظیفه Domain Controller یا کنترل کننده دامنه است که سرویس Active Directory را مدیریت و نگهداری کند . اکتیودایرکتوری به عنوان یک انبار ذخیره سازی و نگهداری اشیاء شبکه ( کاربران ، گروه ها ، کامپیوترها و ... ) ایفای نقش میکند . اما توجه داشته باشید که نقش اصلی کنترل کننده دامنه یا دامین کنترلر ، ارائه سرویس احراز هویت مرکزی یا Central Authentication است .یک نکته بسیار مهم که شما میبایست به خاطر بسپارید این است که Domain Controller کار Authentication یا احراز هویت را انجام میدهد و کار Authorization یا تعیین سطوج دسترسی را انجام نمیدهد . این به این معناست که زمانیکه کاربری ، نام کاربری و رمز عبور خود را در شبکه وارد میکند Domain Controller در شبکه تعیین میکند که آیا این کاربر همان شخصی است که ادعا دارد یا خیر ؟ و آن ار احزار هویت میکند . Domain Controller به کاربر نمیگوید که میتواند به چه منابعی در شبکه دسترسی داشته باشد .
تمامی منابع در شبکه های ویندوز با استفاده از کنترل های سطوح دسترسی یا ACL که مخفف کلمه Access Control List هست ایمن سازی می شوند . ACL ها یک سری لیست هستند که به شما میگویند شما میتوانید به چه منابعی دسترسی داشته باشید . وقتی کاربری قصد استفاده از منابع اطلاعاتی یک سیستم تحت شبکه دامین را دارد ، مشخصات احراز هویت خود را به سرور مورد نظر ارسال میکند . سپس سرور پس از اینکه از Domain Controller تاییدیه صحت اطلاعات ورودی را دریافت کرد توسط لیستی از اطلاعات دسترسی به منابع یا همان ACL تعیین می کند که این کاربر میتواند به چه منابعی دسترسی داشته باشد .
نتیجه : همانطوری که دیدید Domain Controller نقش بسیار حیاتی را در شبکه های ویندوزی بر عهده دارد